package com.dis.service.service;

import com.dis.pojo.dto.RegionDTO;
import com.dis.pojo.entity.Region;
import com.dis.pojo.vo.RegionTreeVO;

import java.util.List;

public interface RegionService {

    /**
     * 获取区域树形结构
     * @return 树形结构列表
     */
    List<RegionTreeVO> getRegionTree();

    /**
     * 根据ID查询区域
     * @param id 区域ID
     * @return 区域详情
     */
    Region getById(Integer id);

    /**
     * 新增区域
     * @param regionDTO 区域数据传输对象
     */
    void save(RegionDTO regionDTO);

    /**
     * 更新区域
     * @param regionDTO 区域数据传输对象
     */
    void update(RegionDTO regionDTO);

    /**
     * 根据ID删除区域
     * @param id 区域ID
     */
    void deleteById(Integer id);

    /**
     * 修改区域状态
     * @param id 区域ID
     * @param status 状态 1-启用 0-禁用
     */
    void changeStatus(Integer id, Integer status);

    List<Region> getRegionsByParentId(Integer parentId);
}